﻿<?php

class Zend_View_Helper_RuDateFormat extends Zend_View_Helper_Abstract {
   //
    public function ruDateFormat($date, $dayWords = true, $delimeter="&nbsp;") {
			
		$months = array(
            "01" => "Января"
            , "02" => "Февраля"
            , "03" => "Марта"
            , "04" => "Апреля"
            , "05" => "Мая"
            , "06" => "Июня"
            , "07" => "Июля"
            , "08" => "Августа"
            , "09" => "Сентября"
            , "10" => "Октября"
            , "11" => "Ноября"
            , "12" => "Декабря"
        );

		if (is_object($date) && ($date instanceof DateTime)) {
            $now = new DateTime();
			$nowStamp = $now->getTimestamp();
			$timeStamp =  $date->getTimestamp();
			
			$diff = $nowStamp - $timeStamp;
			$seconds = date('Y-m-d H:i', $nowStamp) - date('Y-m-d H:i', $timeStamp); 
			
			if ($diff < 2000)		{
				$day = "Только что";
			}
			elseif (($diff > 2000) && ($diff < 86400)){
				$day = "Сегодня";
			}
			elseif (($diff > 86400) && ($diff < 172800)){
				$day = "Вчера";
			}
			elseif (($diff > 172800) && ($diff < 604800)){
				$day = "Недавно";
			}
			elseif (($diff > 604800) && ($diff < 1800000)){
				$day = "Давненько";
			}
			
			if (isset($day)){
				$resultDate = $day;
			}else{
				$resultDate = date("d", $timeStamp).$delimeter.$months[date("m", $timeStamp)].date(" Y", $timeStamp);
			}
            $strdate = $resultDate.$delimeter;
			// .date("H:i", $timeStamp);
        
		}else{
            
			$strdate = $date;
        
        }
		return $strdate;
        
    }

}
?>